iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0
AI 自動化

用 Dify 建構個人專屬 AI Agent 應用系列 第 7

解鎖 Agent:掛載 DuckDuckGo 實作聯網搜尋與 Tool Calling

  • 分享至 

  • xImage
  •  

前六天我們在基礎型Chatbot上完成了提示詞框架、動態變數以及冷啟動引導,但單純的問答機器人有一個無法忽視的硬傷:模型的知識只停留在訓練截止日,遇到即時資訊或最新技術只能「盲猜」或「產生幻覺」。

為了讓顧問具備查閱外部世界資料的能力,今天正式跨入真正的 Agent(代理) 架構,為它裝上第一隻「手」——聯網搜尋工具。

架構升級:為什麼必須使用 Agent?

在Dify的設計中,基礎Chatbot屬於被動接收並回答的單向流程;而 gent則是奠基於 ReAct(Reasoning + Acting,推理與行動)架構。

當使用者丟出問題時,Agent不會立刻急著瞎掰答案,而是會經歷三個步驟:

  1. Thought(思考):分析使用者意圖,判斷現有記憶是否足夠
  2. Action(行動):若資訊不足,主動發起 Tool Calling(工具調用),將搜尋關鍵字送往外部API(如 DuckDuckGo)
  3. Observation(觀察):閱讀工具抓回來的即時網頁結果,綜合整理後給出精準回覆

實作流程:零程式碼外掛 DuckDuckGo 工具

  1. 建立Agent應用:在Dify首頁選擇「建立空白應用」,明確勾選具備自主推理能力的Agent類型,命名為 Dev-Advisor-Agent
  2. 配置顧問提示詞:在上方提示詞加入明確的角色邊界與工具調用原則:
#角色設定
你是一位資深的全端工程師與系統架構顧問。

#能力與原則
1. 當使用者詢問最新技術、發布版本或你不確定的即時資訊時,請務必主動調用搜尋工具查詢。
2. 保持回答條理分明、架構清晰。
掛載搜尋工具:在左側面板點擊「工具」旁的「+ 新增」,安裝開箱即用、無須配置 API Key 的 DuckDuckGo Search,並確認開關呈現啟用狀態(1/1 啟用)。
  1. 掛載搜尋工具:在左側面板點擊「工具」旁的「+ 新增」,安裝開箱即用、無須配置 API Key 的 DuckDuckGo Search,並確認開關呈現啟用狀態(1/1 啟用)

實測驗證:驗證自主調用機制
點擊「發布更新」後,在右側除錯視窗送出一道需要即時查詢的技術題:

「請幫我搜尋並整理 Java 21 LTS 之後發布的最新版本重點特性有哪些?」
https://ithelp.ithome.com.tw/upload/images/20260913/20178900hL1ZPiS3S7.png
如實測截圖所示,AI沒有直接給出預設的舊記憶,而是在回答開頭跳出了 已使用 ddgo_search > 的調用標籤!點開能看到它自主提煉搜尋關鍵字、向 DuckDuckGo 發送請求並解析內容的完整軌跡,最後產出結構條理分明的技術報告。

今日心

其實操作下來非常單純,本質上就是幫 Agent 安裝了一個搜尋工具。不過好處很直接:至少之後問它比較新的技術時,它會自己先去查,不會只拿兩三年前的舊資料來應付。

但光靠網路搜尋還是有局限,很多平常自己寫的筆記、專案規格或內部資料,網路上根本查不到。明天Day8就來接 知識庫(RAG),把手邊現有的文件匯入進去,看看怎麼讓它直接參考這些內容來回答。


上一篇
優化對話體驗:如何在 Chatbot 用 Prompt 打造動態開場引導與推薦問題
下一篇
導入私有文件:建立專屬知識庫(RAG)與檢索優先權調優
系列文
用 Dify 建構個人專屬 AI Agent 應用15
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言